
package com.education.common.config;


/**
 * 异常编码 0成功、-1熔断、 -2 标准参数校验不通过 -3会话超时
 * 前两位:服务标识
 * 中间两位:模块标识
 * 后两位:异常标识
 */
public enum CommonErrorCode implements ErrorCode {
	
	////////////////////////////////////公用异常编码 //////////////////////////
	E_200101(200101,"入参不全"),
	E_200102(200102,"type传参不正确"),
	E_200103(200103,"该用户不存在"),
	E_200104(200104,"七牛云删除图片失败"),
	E_200105(200105,"当前课程已经是最后一级"),
	E_200106(200106,"分页参数为空"),
	E_200107(200107,"入参有误"),
	E_200108(200108,"添加失败"),
	E_200109(200109,"修改失败"),
	E_200110(200110,"删除失败"),
	E_200111(200111,"目录修改异常"),
	E_200112(200112,"该目录有下级目录无法删除"),




	///////////////////////////////////购买接口修改编码//////////////////////////
	E_300101(300101,"自己不能购买自己的课件"),
	E_300102(300102,"该用户已购买该课程 不能重复购买"),
	E_300103(300103,"达人币不足 请充值"),
	E_300104(300104,"课程表已有该课程 不能重复添加"),
	E_300105(300105,"课程表没有改课程 无法取消"),



	/**
	 * 传入参数与接口不匹配
	 */
	E_100101(100101,"传入参数与接口不匹配"),
	/**
	 * 验证码错误
	 */
	E_100102(100102,"验证码错误"),
	/**
	 * 验证码为空
	 */
	E_100103(100103,"验证码为空"),
	/**
     * 查询结果为空
     */
    E_100104(100104,"查询结果为空"),
    /**
     * ID格式不正确或超出Long存储范围
     */
    E_100105(100105,"ID格式不正确或超出Long存储范围"),
	/**
	 * 上传出错
	 */
	E_100106(100106,"上传错误"),
	E_100107(100107,"发送验证码错误"),



	////////////////////////////////////特殊异常编码/////////////////////////////////////
    E_999991(999991,"调用微服务-授权服务 被熔断"),
    E_999992(999992,"调用微服务-用户服务 被熔断"),
    E_999993(999993,"调用微服务-资源服务 被熔断"),
    E_999994(999994,"调用微服务-同步服务 被熔断"),

    E_999910(999910,"调用微服务-没有传tenantId租户Id"),
	E_999911(999911,"调用微服务-没有json-token令牌"),
	E_999912(999912,"调用微服务-json-token令牌解析有误"),
	E_999913(999913,"调用微服务-json-token令牌有误-没有当前租户信息"),
	E_999914(999914,"调用微服务-json-token令牌有误-该租户下没有权限信息"),

	D_999915(999921,"导入失败,请检查身份证号码"),
	D_999916(999922,"导入失败,身份证号已存在"),
	D_999917(999923,"导入失败,手机号已存在"),

	E_NO_AUTHORITY(999997,"没有访问权限"),
	CUSTOM(999998,"自定义异常"),
	/**
	 * 未知错误
	 */
	UNKOWN(999999,"未知错误");
	

	private int code;
	private String desc;
		
	public int getCode() {
		return code;
	}

	public String getDesc() {
		return desc;
	}

	CommonErrorCode(int code, String desc) {
		this.code = code;
		this.desc = desc;
	}


	public static CommonErrorCode setErrorCode(int code) {
       for (CommonErrorCode errorCode : CommonErrorCode.values()) {
           if (errorCode.getCode()==code) {
               return errorCode;
           }
       }
	       return null;
	}
}
